1. Field of the Invention
The present invention generally relates to metadata systems. More particularly, the invention relates to metadata-configurable systems and methods for network services.
2. Description of Related Art
Traditional software systems are typically created for a dedicated purpose with limited optional behaviors and features. Major feature and behavior changes to traditional software systems require significant development efforts and the creation of new versions. Systems that are created to be flexible require extensive custom development work to meet custom requirements.
Over the last 15 years, large software systems have evolved to allow for the creation and modification of major feature and behavior changes through configuration. By and large, these software systems are client/server, desktop/server, or mainframe applications that are installed on-premises in a data center or IT facility.
Web-based software systems and applications, however, are replacing the on-premises software system. The main attributes of web-based software systems are that the software is accessible via a web browser anywhere the Internet. Server portions are hosted in a data center managed by (or on the behalf of) a provider of the software system.
There are generally two forms of web-based software systems:                Web-based software systems where the server part of the system is on a computer system dedicated to the users of a single entity (such as corporations and institutions). Software systems provided in this manner are called “managed service provider” systems or MSP systems.        Web-based software systems where the server part of the system is on systems that may be shared by users of many different entities (such as corporations and institutions). Software systems provided in this manner are currently called “software as a service” systems (“SaaS systems”) and may function as “application service provider” systems (“ASP systems”).        
Since MSP systems provide a separate server installation for every entity using the software system, it is generally similar to an on-premises software system with respect to architecture. To provide an upgrade, both on-premises systems and MSP systems require a process for releasing new software for every entity using the software system. Since a SaaS system is sharing a server across multiple entities using the software system, when a SaaS system is updated, everyone using the SaaS system gets the benefit of the update. A SaaS system, however, is traditionally not as configurable as an on-premises software system.